﻿using System;
namespace FxhjpgWeb.Model
{
	///<summary>
	///
	///</summary>
	public class Job : ModelBase<int>
	{
		#region 成员字段

        private int _cid = default(Int32);
		private string _author = String.Empty;
		private string _department = String.Empty;
		private string _description = String.Empty;
		private string _effectiveDate = String.Empty;
		private DateTime _inDate = DateTime.Now;
		///<summary>
		///发布时间查询区间值
		///</summary>
		private DateTime[] _inDatespan = null;
		private string _inIP = String.Empty;
		private string _name = String.Empty;
		private int _needNum = default(Int32);
		private int _requiredDegree = default(Int32);
		private int _sex = default(Int32);
		private int _shalary = default(Int32);
		private string _upAuthor = String.Empty;
		private DateTime _upDate = DateTime.Now;
		///<summary>
		///更新时间查询区间值
		///</summary>
		private DateTime[] _upDatespan = null;
		private string _upIP = String.Empty;
		private int _workExperience = default(Int32);
        private string _workingPlace = String.Empty;
        private int _count = default(Int32);
		
		#endregion
		
		#region 构造方法
		
		public Job() { }
		
		#endregion
		
		#region 成员方法
		
		public override int GetHashCode()
		{
			System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append(this.GetType().FullName);
            sb.Append(_cid);
			sb.Append(_author);
			sb.Append(_department);
			sb.Append(_description);
			sb.Append(_effectiveDate);
			sb.Append(_inDate);
			sb.Append(_inIP);
			sb.Append(_name);
			sb.Append(_needNum);
			sb.Append(_requiredDegree);
			sb.Append(_sex);
			sb.Append(_shalary);
			sb.Append(_upAuthor);
			sb.Append(_upDate);
			sb.Append(_upIP);
			sb.Append(_workExperience);
			sb.Append(_workingPlace);
			return sb.ToString().GetHashCode();
		}
		
		#endregion

        #region 成员属性

        ///<summary>
        ///分类
        ///</summary>
        public int Cid
        {
            get
            {
                return _cid;
            }
            set
            {
                _cid = value;
            }
        }
		
		///<summary>
		///作者
		///</summary>
		public string Author
		{
			get
			{
				return _author;
			}
			set
			{
				_author = value;
			}
		}
		///<summary>
		///所属部门
		///</summary>
		public string Department
		{
			get
			{
				return _department;
			}
			set
			{
				_department = value;
			}
		}
		///<summary>
		///职位描述
		///</summary>
		public string Description
		{
			get
			{
				return _description;
			}
			set
			{
				_description = value;
			}
		}
		///<summary>
		///有效期至
		///</summary>
		public string EffectiveDate
		{
			get
			{
				return _effectiveDate;
			}
			set
			{
				_effectiveDate = value;
			}
		}
		///<summary>
		///发布时间
		///</summary>
		public DateTime InDate
		{
			get
			{
				return _inDate;
			}
			set
			{
				_inDate = value;
			}
		}
		///<summary>
		///发布时间查询区间值
		///</summary>
		public DateTime[] InDatespan{
			get
			{
				return _inDatespan;
			}
			set
			{
				_inDatespan = value;
			}
		}
		///<summary>
		///添加IP
		///</summary>
		public string InIP
		{
			get
			{
				return _inIP;
			}
			set
			{
				_inIP = value;
			}
		}
		///<summary>
		///职位名称
		///</summary>
		public string Name
		{
			get
			{
				return _name;
			}
			set
			{
				_name = value;
			}
		}
		///<summary>
		///招聘人数
		///</summary>
		public int NeedNum
		{
			get
			{
				return _needNum;
			}
			set
			{
				_needNum = value;
			}
		}
		///<summary>
		///学历要求
		///</summary>
		public int RequiredDegree
		{
			get
			{
				return _requiredDegree;
			}
			set
			{
				_requiredDegree = value;
			}
		}
		///<summary>
		///性别要求
		///</summary>
		public int Sex
		{
			get
			{
				return _sex;
			}
			set
			{
				_sex = value;
			}
		}
		///<summary>
		///工资待遇
		///</summary>
		public int Shalary
		{
			get
			{
				return _shalary;
			}
			set
			{
				_shalary = value;
			}
		}
		///<summary>
		///更新人
		///</summary>
		public string UpAuthor
		{
			get
			{
				return _upAuthor;
			}
			set
			{
				_upAuthor = value;
			}
		}
		///<summary>
		///更新时间
		///</summary>
		public DateTime UpDate
		{
			get
			{
				return _upDate;
			}
			set
			{
				_upDate = value;
			}
		}
		///<summary>
		///更新时间查询区间值
		///</summary>
		public DateTime[] UpDatespan{
			get
			{
				return _upDatespan;
			}
			set
			{
				_upDatespan = value;
			}
		}
		///<summary>
		///更新IP
		///</summary>
		public string UpIP
		{
			get
			{
				return _upIP;
			}
			set
			{
				_upIP = value;
			}
		}
		///<summary>
		///工作经验
		///</summary>
		public int WorkExperience
		{
			get
			{
				return _workExperience;
			}
			set
			{
				_workExperience = value;
			}
		}
		///<summary>
		///工作地点
		///</summary>
		public string WorkingPlace
		{
			get
			{
				return _workingPlace;
			}
			set
			{
				_workingPlace = value;
			}
		}
		///<summary>
		///点击量
		///</summary>
        public int Count
		{
			get
			{
                return _count;
			}
			set
			{
                _count = value;
			}
		}
		
        /// <summary>
        /// 自定义查询条件
        /// </summary>
        public string CustomWhere { get; set; }
		
		#endregion
	}
		
	public static class JobHash
	{
		public const string TopNum = "TopNum";
		public const string OrderField = "OrderField";
		public const string OrderDirection = "OrderDirection";
		public const string Author = "Author";
		public const string Department = "Department";
		public const string Description = "Description";
		public const string EffectiveDate = "EffectiveDate";
        public const string Id = "Id";
        public const string Cid = "Cid";
		public const string InDate = "InDate";
		public const string InIP = "InIP";
		public const string Name = "Name";
		public const string NeedNum = "NeedNum";
		public const string RequiredDegree = "RequiredDegree";
		public const string Sex = "Sex";
		public const string Shalary = "Shalary";
		public const string UpAuthor = "UpAuthor";
		public const string UpDate = "UpDate";
		public const string UpIP = "UpIP";
		public const string WorkExperience = "WorkExperience";
		public const string WorkingPlace = "WorkingPlace";
        public const string Count = "Count";
		
        public const string CustomWhere = "CustomWhere";
	}
}